package com.suke.czx.common.utils;

import cn.hutool.core.util.StrUtil;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.ObjectError;

/**
 * 应用模块名称: 工具类
 * 代码描述: 参数校验工具类
 * copyright: AUZAR ALL RIGHTS RESERVED
 * company: AUZAR
 *
 * @author: 颜米晨
 * @date: 2021/08/29 2:27
 */
public class ParamValidateUtil {

    /**
     * 控制层入参校验
     * @param bindingResult result
     * @return VO
     */
    public static String paramVilated(BindingResult bindingResult) {
        StringBuffer stringBuffer = new StringBuffer();
        // 如果有对应属性的错误信息，拼接属性错误信息展示
        if (ListUtil.isEmpty(bindingResult.getFieldErrors())) {
            for (FieldError fieldError : bindingResult.getFieldErrors()) {
                stringBuffer.append(fieldError.getDefaultMessage()).append(Constant.COMMA);
            }
        } else {
            // 否则拼接全局错误信息
            for (ObjectError error : bindingResult.getAllErrors()) {
                stringBuffer.append(error.getDefaultMessage()).append(Constant.COMMA);
            }
        }
        String message = StrUtil.toString(stringBuffer);
        return StrUtil.subWithLength(message, 0, StrUtil.length(message) - 1);
    }

}
